Skip to content

Conversation

@jimklimov
Copy link
Member

Bring updates from master, and apply similar code quality changes to DMF added code.

Marzal and others added 30 commits December 24, 2025 19:11
Tested with ExecCondition=/bin/sh -c '[ "$MODE" != "netclient" ]' an
Not sure if there is a better way to call `sh` without assuming a static dir.

Something like `command -v sh`
…BLE_EXEC_CONDITION@ and put ExecCondition for MODE values into more units; depend from NDE path units also on nut.conf changes; bump systemd integration copyrights [networkupstools#3233]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…: rename nut-udev-settle.service into a .in template, handle ExecCondition here too [networkupstools#3233]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… also consider "none" [networkupstools#3233]

Also fix nut-monitor.service (upsmon) to still start for a "netserver":
it is a full setup like "standalone", just with not only `localhost`
clients expected.

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Just launch nut-server systemd service if we are not on netclient mode
…inently the NUT CI farm hosting provider (and Fosshost, like Travis CI, is history) [networkupstools#2192]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
networkupstools#3244.

In drivers/huawei-ups2000.c, the serial port is opened twice. Once by
ser_open() to manually perform device identification, once by
modbus_connect() for communicating with the UPS after identification
succeeds.

However, holding two file descriptors of the same serial port is
problematic on Windows, even if they're not actually used at the same
time. A serial port is usually opened on Windows via CreateFileA() with
dwShareMode = 0, which is done by libmodbus. According to the Win32
API documentation:

> If this parameter is zero and CreateFile succeeds, the file or device
> cannot be shared and cannot be opened again until the handle to the
> file or device is closed.

This is responsible for the following error on Windows:

    modbus_connect: unable to connect: No error
    Driver failed to start (exit status=1)

This commit leaves only the raw ser_open() call in upsdrv_initups(),
the modbus_connect() call is deleted to avoid opening the same serial
port again. After device identification succeeds later in
ups2000_device_identification() - called by upsdrv_initinfo(), the raw
serial port is closed. Once at this point, modbus_connect() is called,
just before upsdrv_initinfo() returns.

Signed-off-by: Yifeng Li <tomli@tomli.me>
…: fix "nobattery" alarm on OpenUPS devices [networkupstools#3246]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…-port-fix

drivers/huawei-ups2000.c: call ser_close() before modbus_connect(), fix networkupstools#3244.
…3207]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…of Microsoft IIS to host the NUT CGI programs [networkupstools#3207]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…lly [networkupstools#3207]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…-in CONFPATH [networkupstools#3207]

Already done for other files, only hosts.conf was seeked wrongly.

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ath() rather than built-in CONFPATH, and document the (incomplete) *mib.conf support

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…mic confpath() rather than built-in CONFPATH

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… clients [networkupstools#3207]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…an/upsset.conf.txt, NEWS.adoc, docs/nut.dict: introduce --with-cgi-uri [networkupstools#3207]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…rt on WIN32 builds [networkupstools#3207]

Let CGI work under IIS with `\\?\c:\...` paths to config files.
TOTHINK: Maybe move this closer to GetModuleName() calls?

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ARED_PRIVATE_LIBS [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ARED_PRIVATE_LIBS more conservatively [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…n we configure --without-serial

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ot currently mean disabling modbus drivers nor libnutscan ability to talk serial

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…mmy_usb.la [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…mmy_usb.la [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…g of suggest_NDE_conflict() when we ENABLE_SHARED_PRIVATE_LIBS [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Experiment building NUT with shared private libraries
…ex for libnutscan [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@AppVeyorBot
Copy link

Build nut 2.8.4.4061-FTY failed (commit b47b19a88d by @jimklimov)

…ARED_PRIVATE_LIBS [networkupstools#2800]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@AppVeyorBot
Copy link

jimklimov and others added 16 commits January 22, 2026 22:58
… group the variables we apply as one bunch, not as several separate hits
…be consistent, take two

Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…ds" from master to DMF branch

For some reason, these lines to allow faults/avoid tests on some
system combos were absent in DMF branch, and it still works.
Was it known covered in other scenarios on master?

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…be consistent, take two

Signed-off-by: Jim Klimov <jimklimov@gmail.com>
… default (DMF branch)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…nches

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ort-symbols-regex for DMF/legacy builds with minimal difference

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… base, so master-branch text lines match exactly

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…as build-dependent behavior

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ter-branch text lines match exactly

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… master-branch text lines match exactly

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DMF NUT Data/Dynamic Mapping File/Format/Functionality feature SNMP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants